package com.hy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hy.admin.pojo.RegistrationGrowth;
import com.hy.admin.pojo.RegistrationInfo;
import com.hy.admin.pojo.UserActivity;

import java.util.List;

/**
* @author Lenovo
* @description 针对表【user_activity(存储医生和患者在不同时间的活跃度占比信息)】的数据库操作Service
* @createDate 2025-03-05 15:36:27
*/
public interface UserActivityService extends IService<UserActivity> {
    /**
     * 计算各项统计数据总和
     * @return double数组，包含[注册数量总和, 活跃度总和, 注册用户数总和]
     */
    double[] calculateTotals();

    /**
     * 获取最近6个月的注册信息
     * @return 注册信息列表
     */
    List<RegistrationInfo> getRegistrationInfos();

    /**
     * 获取最近6个月的用户活跃度
     * @return 用户活跃度列表
     */
    List<UserActivity> getUserActivities();

    /**
     * 获取最近6个月的注册增长数据
     * @return 注册增长数据列表
     */
    List<RegistrationGrowth> getRegistrationGrowths();
}
